/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * RegistroCliente.java
 *
 * Created on 23/05/2011, 02:24:30 PM
 */

package GUI;

import Interfaz.InterfazControl;
import Motor.ClaseUtilitaria;
import Motor.Cliente;
import Persistencia.DAOClienteXML;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;

/**
 *
 * @author Vane
 */
public class RegistroCliente extends javax.swing.JFrame {

    /** Creates new form RegistroCliente */
	private InterfazControl laInterfaz;
	private Cliente cliente;
    public RegistroCliente(InterfazControl laInterfaz) {
        this.laInterfaz=laInterfaz;
		initComponents();
		this.setLocationRelativeTo(null); // Cambiar icono de java en ventana
        this.setIconImage(new ImageIcon("src/imagenes/marketplus2.png").getImage());
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jTNombre = new javax.swing.JTextField();
        jTApellido = new javax.swing.JTextField();
        jTRIFCI = new javax.swing.JTextField();
        jTTelefono = new javax.swing.JTextField();
        jTEmail = new javax.swing.JTextField();
        jBActualizar = new javax.swing.JButton();
        jBContinuar = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();
        jLabel8 = new javax.swing.JLabel();
        jLabel9 = new javax.swing.JLabel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jLabel12 = new javax.swing.JLabel();
        jTUsuario = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        jClave = new javax.swing.JPasswordField();
        jFecha = new com.toedter.calendar.JDateChooser();
        jRFemenino = new javax.swing.JRadioButton();
        jRMasculino = new javax.swing.JRadioButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTDireccion = new javax.swing.JTextArea();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(400, 580));
        setResizable(false);
        getContentPane().setLayout(null);

        jLabel1.setText("Nombre:");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(30, 180, 80, 14);

        jLabel2.setText("Apellido:");
        getContentPane().add(jLabel2);
        jLabel2.setBounds(30, 210, 80, 14);

        jLabel3.setText("RIF/CI:");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(30, 240, 80, 14);

        jLabel4.setText("Teléfono:");
        getContentPane().add(jLabel4);
        jLabel4.setBounds(30, 350, 80, 14);

        jLabel5.setText("E-mail:");
        getContentPane().add(jLabel5);
        jLabel5.setBounds(30, 380, 80, 14);

        jLabel6.setText("Dirección:");
        getContentPane().add(jLabel6);
        jLabel6.setBounds(30, 410, 70, 14);

        jTNombre.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTNombreActionPerformed(evt);
            }
        });
        jTNombre.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTNombreKeyTyped(evt);
            }
        });
        getContentPane().add(jTNombre);
        jTNombre.setBounds(120, 180, 190, 20);

        jTApellido.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTApellidoActionPerformed(evt);
            }
        });
        jTApellido.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTApellidoKeyTyped(evt);
            }
        });
        getContentPane().add(jTApellido);
        jTApellido.setBounds(120, 210, 190, 20);

        jTRIFCI.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTRIFCIActionPerformed(evt);
            }
        });
        jTRIFCI.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTRIFCIKeyTyped(evt);
            }
        });
        getContentPane().add(jTRIFCI);
        jTRIFCI.setBounds(120, 240, 190, 20);

        jTTelefono.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTTelefonoActionPerformed(evt);
            }
        });
        jTTelefono.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                jTTelefonoKeyTyped(evt);
            }
        });
        getContentPane().add(jTTelefono);
        jTTelefono.setBounds(120, 350, 190, 20);

        jTEmail.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jTEmailActionPerformed(evt);
            }
        });
        getContentPane().add(jTEmail);
        jTEmail.setBounds(120, 380, 190, 20);

        jBActualizar.setText("Actualizar");
        jBActualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBActualizarActionPerformed(evt);
            }
        });
        getContentPane().add(jBActualizar);
        jBActualizar.setBounds(110, 480, 100, 40);

        jBContinuar.setText("Continuar");
        jBContinuar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBContinuarActionPerformed(evt);
            }
        });
        getContentPane().add(jBContinuar);
        jBContinuar.setBounds(220, 480, 90, 40);

        jLabel7.setFont(new java.awt.Font("Tempus Sans ITC", 3, 15));
        jLabel7.setText("Registro Cliente Online");
        getContentPane().add(jLabel7);
        jLabel7.setBounds(120, 40, 220, 20);

        jLabel8.setText("Sexo:");
        getContentPane().add(jLabel8);
        jLabel8.setBounds(30, 270, 70, 14);

        jLabel9.setText("Fecha Nac:");
        getContentPane().add(jLabel9);
        jLabel9.setBounds(30, 320, 80, 14);

        jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/marketplus.png"))); // NOI18N
        getContentPane().add(jLabel10);
        jLabel10.setBounds(10, 0, 94, 80);

        jLabel11.setFont(new java.awt.Font("Tahoma", 1, 10));
        jLabel11.setText("RIF: J-122231245          Desarrollado por: Group Delivery");
        getContentPane().add(jLabel11);
        jLabel11.setBounds(70, 530, 320, 20);

        jLabel12.setText("Clave:");
        getContentPane().add(jLabel12);
        jLabel12.setBounds(30, 150, 90, 14);
        getContentPane().add(jTUsuario);
        jTUsuario.setBounds(120, 120, 190, 20);

        jLabel13.setText("Usuario:");
        getContentPane().add(jLabel13);
        jLabel13.setBounds(30, 120, 60, 14);

        jClave.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jClaveActionPerformed(evt);
            }
        });
        getContentPane().add(jClave);
        jClave.setBounds(120, 150, 190, 20);
        getContentPane().add(jFecha);
        jFecha.setBounds(120, 320, 190, 20);

        jRFemenino.setText("Femenino");
        jRFemenino.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRFemeninoActionPerformed(evt);
            }
        });
        getContentPane().add(jRFemenino);
        jRFemenino.setBounds(120, 260, 130, 23);

        jRMasculino.setText("Masculino");
        jRMasculino.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jRMasculinoActionPerformed(evt);
            }
        });
        getContentPane().add(jRMasculino);
        jRMasculino.setBounds(120, 290, 93, 23);

        jTDireccion.setColumns(20);
        jTDireccion.setRows(5);
        jScrollPane1.setViewportView(jTDireccion);

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(120, 410, 190, 50);

        pack();
    }// </editor-fold>//GEN-END:initComponents

   
	private void jTNombreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTNombreActionPerformed
		// TODO add your handling code here:
}//GEN-LAST:event_jTNombreActionPerformed

	private void jTApellidoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTApellidoActionPerformed
		// TODO add your handling code here:
}//GEN-LAST:event_jTApellidoActionPerformed

	private void jTRIFCIActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTRIFCIActionPerformed
		// TODO add your handling code here:
}//GEN-LAST:event_jTRIFCIActionPerformed

	private void jTEmailActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTEmailActionPerformed
		// TODO add your handling code here:
}//GEN-LAST:event_jTEmailActionPerformed

	private void jBContinuarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBContinuarActionPerformed
		// TODO add your handling code here:
		
		

		if (jRFemenino.getText().isEmpty() && jRMasculino.getText().isEmpty())
		{
			JOptionPane.showMessageDialog(null, "Por favor seleccione su Sexo", "Error al Registrar", JOptionPane.ERROR_MESSAGE);


		}

		if ( jTNombre.getText().isEmpty() || jTApellido.getText().isEmpty() || jTDireccion.getText().isEmpty() ||
		     jTEmail.getText().isEmpty() || jTRIFCI.getText().isEmpty() || jTTelefono.getText().isEmpty())
		{
			JOptionPane.showMessageDialog(null, "Por favor llene todos los campos", "Error al Registrar", JOptionPane.ERROR_MESSAGE);
		}

		else
		{
			try {
				//			(String nombre, String apellido, String cedula, String direccion, String telefono,
				//	String email, String login, String password, Date fechaDeNacimiento, boolean clienteAsociado,
				//	char sexo,Date fechaIngreso, boolean esJuridico,TarjetaDeAfiliado laTarjeta, List <Factura>
				//	listaFacturas
				//
				String nombre = this.jTNombre.getText();
				String apellido = this.jTApellido.getText();
				String cedula = this.jTRIFCI.getText();
				String direccion = this.jTDireccion.getText();
				String telefono = this.jTTelefono.getText();
				String email = this.jTEmail.getText();
				String fechaNacimiento = new SimpleDateFormat("dd/MM/yyyy").format(jFecha.getDate());
				Date fecha = ClaseUtilitaria.convertirStringaDate(fechaNacimiento);

				String usuario = this.jTUsuario.getText();
				String clave = this.jClave.getText();
			//	DAOClienteXML cli = new DAOClienteXML();


				if ((jRFemenino.isSelected()) && (!jRMasculino.isSelected()) )
				{
					Cliente clienteRegistro = new Cliente(nombre, apellido, cedula, direccion, telefono, email,
				usuario, clave, fecha, false, 'F', fecha, false, null, null);
					laInterfaz.registrarCliente(clienteRegistro);
				}


				if ((!jRFemenino.isSelected()) && (jRMasculino.isSelected()))
				{
					Cliente clienteRegistro = new Cliente(nombre, apellido, cedula, direccion, telefono, email,
				usuario, clave, fecha, false, 'M', fecha, false, null, null);


				}





				//			 String nombre = this.nNombre.getText();
				//        String cedula = this.nCedula.getText();
				//        String fecha = this.Nfecha.getText();
				//        String usuario = this.nUsuario.getText();
				//        String contrasena = this.nContrasena.getText();
				//        String direccion = this.nDireccion.getText();
				//        String telefono = this.nTelefono.getText();
				//        int indice = this.comboBox.getSelectedIndex();
				//
				//        DAOPacienteXML pac = new DAOPacienteXML();
			}
			catch (Exception ex) {
				Logger.getLogger(CajeraRegistro.class.getName()).log(Level.SEVERE, null, ex);
			}			//		 else
			//		 {
			//            int valor = Validar.ValidarEntero(txtCedula.getText(), "Cédula no es numérica");
			//            if (valor == 1) {
			//                float valor2 = Validar.ValidarReal(txtEficiencia.getText(), "Eficiencia no posee el formato apropiado");
			//                if (valor2 == 1) {
			//                    Estudiante Estud = new Estudiante(Integer.parseInt(txtCedula.getText()), txtNombres.getText(), Float.parseFloat(txtEficiencia.getText()));
			//                    resultado = datosEst.agregarPersona(Estud);
			//                    if (resultado == true) {
			//                        JOptionPane.showMessageDialog(null, "Estudiante " + txtNombres.getText(), " agregado con exito!", JOptionPane.INFORMATION_MESSAGE);
			//                        limpia();
			//                    } else {
			//                        if (Estud != null) {
			//                            JOptionPane.showMessageDialog(null, "Operacion Fallida", "Error", JOptionPane.ERROR_MESSAGE);
			//                        }
			//                    }
			//                }
			//            }
			//      }
			
			
		}


//		 else
//		 {
//            int valor = Validar.ValidarEntero(txtCedula.getText(), "Cédula no es numérica");
//            if (valor == 1) {
//                float valor2 = Validar.ValidarReal(txtEficiencia.getText(), "Eficiencia no posee el formato apropiado");
//                if (valor2 == 1) {
//                    Estudiante Estud = new Estudiante(Integer.parseInt(txtCedula.getText()), txtNombres.getText(), Float.parseFloat(txtEficiencia.getText()));
//                    resultado = datosEst.agregarPersona(Estud);
//                    if (resultado == true) {
//                        JOptionPane.showMessageDialog(null, "Estudiante " + txtNombres.getText(), " agregado con exito!", JOptionPane.INFORMATION_MESSAGE);
//                        limpia();
//                    } else {
//                        if (Estud != null) {
//                            JOptionPane.showMessageDialog(null, "Operacion Fallida", "Error", JOptionPane.ERROR_MESSAGE);
//                        }
//                    }
//                }
//            }
//      }

		if ( !jTNombre.getText().isEmpty() && !jTApellido.getText().isEmpty() && !jTDireccion.getText().isEmpty() &&
		     !jTEmail.getText().isEmpty() && !jTRIFCI.getText().isEmpty() && !jTTelefono.getText().isEmpty())
		{
			 CompraOnline iraCompraOnline=new CompraOnline(laInterfaz,cliente);
		     iraCompraOnline.setVisible(true);
		     this.dispose();
		}

     



		
}//GEN-LAST:event_jBContinuarActionPerformed

	private void jBActualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBActualizarActionPerformed
		// TODO add your handling code here:
		
	}//GEN-LAST:event_jBActualizarActionPerformed

	private void jRFemeninoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRFemeninoActionPerformed
		// TODO add your handling code here:
		if (this.jRFemenino.isSelected())
		{
			jRMasculino.setSelected(false);
		}
	}//GEN-LAST:event_jRFemeninoActionPerformed

	private void jTNombreKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTNombreKeyTyped
		// TODO add your handling code here:
		 char c = evt.getKeyChar();
          if (Character.isDigit(c)== true)
            evt.consume();
	}//GEN-LAST:event_jTNombreKeyTyped

	private void jTApellidoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTApellidoKeyTyped
		// TODO add your handling code here:
			 char c = evt.getKeyChar();
             if (Character.isDigit(c)== true)
                 evt.consume();

	}//GEN-LAST:event_jTApellidoKeyTyped

	private void jTRIFCIKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTRIFCIKeyTyped
		// TODO add your handling code here:
		char c = evt.getKeyChar();
		if (Character.isDigit(c)== false)
                 evt.consume();

		String x = Character.toString(c);
		if (x.equals("J") || (x.equals("j"))){
			this.jTRIFCI.setText("J-");
			evt.consume();
		}

	
	}//GEN-LAST:event_jTRIFCIKeyTyped

	private void jTTelefonoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTTelefonoKeyTyped
		// TODO add your handling code here:
		     char c = evt.getKeyChar();
             if (Character.isDigit(c)== false)
                 evt.consume();
	}//GEN-LAST:event_jTTelefonoKeyTyped

	private void jRMasculinoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRMasculinoActionPerformed
		// TODO add your handling code here:
		if (this.jRMasculino.isSelected())
		{
			jRFemenino.setSelected(false);
		}
	}//GEN-LAST:event_jRMasculinoActionPerformed

	private void jTTelefonoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTTelefonoActionPerformed
		// TODO add your handling code here:
	}//GEN-LAST:event_jTTelefonoActionPerformed

	private void jClaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jClaveActionPerformed
		// TODO add your handling code here:
	}//GEN-LAST:event_jClaveActionPerformed



    /**
    * @param args the command line arguments
    */


	

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBActualizar;
    private javax.swing.JButton jBContinuar;
    private javax.swing.JPasswordField jClave;
    private com.toedter.calendar.JDateChooser jFecha;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JRadioButton jRFemenino;
    private javax.swing.JRadioButton jRMasculino;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTApellido;
    private javax.swing.JTextArea jTDireccion;
    private javax.swing.JTextField jTEmail;
    private javax.swing.JTextField jTNombre;
    private javax.swing.JTextField jTRIFCI;
    private javax.swing.JTextField jTTelefono;
    private javax.swing.JTextField jTUsuario;
    // End of variables declaration//GEN-END:variables

}
